package com.ftg.learn.chapter01;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author KangJx
 * @date 2021/5/25
 */
public class TestArrays {

    public static void main(String[] args) {
        //整形集合   集合即容器
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(23);

        //学生集合  学生容器
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("sno",1);
        map.put("name","苗田媛");


        //类容器 : 类集合 - >java类
        //把反射创建的所有java的实例  统一存储类容器里面
        //就可以从容器里面直接获取
        // 中国的最高理想  共产主义
        // 池化 资源池 （中国人民有可能需要 的资源 ）
        // 放置 （有些有人会把自己生产出来的 富于资源 存储资源池 给别人用呀）
        // 获取 （有些人可以通过资源 池拿到自己想要的资源 ）

        // IOC : 控制反转
        //容器 - 类容器 类资源池  --- java 所有反台 与spring相当框架的底层


        //存操作
        Map<String,Object> classContainer = new HashMap<String,Object>();
        String[] path = {"com.ftg.learn.chapter01.Person"};

        if(null != path && 0 < path.length){
            for(String p : path){
                try {
                    Class c1 = Class.forName(p);
                    Object obj = c1.newInstance();
                    //是不是 把当前工程里面要用到的所有java类，实例化完成以后
//                    放置到我们的类容器里面
                    map.put(c1.getSimpleName(),obj);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                } catch (InstantiationException e) {
                    e.printStackTrace();
                }
            }
        }

        //取操作 默认就是单例,内存占有用小
        Person p1 = (Person)map.get("Person");

        //反射  代理 工厂

    }

}
